home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
- MDIFF - MPATCH
- Versión 1.50
-
-
-
-
-
-
-
-
-
-
- Un programa simple pero completo para producir y aplicar patches a
- programas y archivos de datos para DOS, OS/2, Windows 95 y Windows NT.
-
-
-
-
-
-
-
-
- Manual en idioma español.
-
-
-
-
-
-
-
-
-
-
-
-
- (C) 1995/96 Maurizio Giunti - Todos los derechos reservados
-
-
-
-
-
- 1.INDICE
-
-
- 1.INDICE 2
-
-
- 2.GARANTIA 3
-
-
- 3.DISTRIBUCION Y USO 3
-
-
- 4.¿POR QUE? 3
-
-
- 5.¿QUE HACE MDIFF-MPATCH? 3
-
-
- 6.EJEMPLOS 3
-
-
- 7.DOS, OS/2, WINDOWS 95 Y WINDOWS NT 4
-
-
- 8.LIMITES Y ERRORES CONOCIDOS 4
-
-
- 9.MDIFF - MDIFF2 - MDIFFW 4
-
-
- 10.MPATCH - MPATCH2 - MPATCHW 5
-
-
- 11.MDF2EXE - MDF2EXE2 - MDF2EXEW 6
-
-
- 12.SUGERENCIAS 6
-
-
- 13.LIBRERIAS PARA APLICAR PATCHES 6
-
-
- 14.REGISTRANDO MDIFF 6
-
-
- 15.COMO CONTACTAR AL AUTOR 7
-
-
- 16.AGRADECIMIENTOS 7
-
-
-
-
-
- 2
-
-
-
-
-
- 2.GARANTIA
- ESTE SOFTWARE Y LOS ARCHIVOS QUE LO ACOMPAÑAN SE VENDEN "COMO ESTAN" Y SIN
- GARANTIA EN CUANTO A SU FUNCIONAMIENTO O COMERCIABILIDAD U OTRAS GARANTIAS
- TANTO EXPLICITAS COMO IMPLICITAS.
- La única garantía otorgada con este software es que ocupa espacio en su
- disco. No se puede garantizar absolutamente que funcione perfectamente o
- que sea la solución para su problema. Sin embargo, no es un virus y no
- contiene (a menos que haya sido infectado o modificado después de la
- compilación) troyanos, back-doors u otras basuras similares. En cada caso
- el autor declina su responsabilidad directa o indirecta, por daños morales
- o materiales que eventualmente puedan resultar de su uso.
-
- 3.DISTRIBUCION Y USO
- Este software pertenece a la categoría de programas Shareware: por lo que
- se puede copiar y utilizar libremente por un período de prueba de 15 días.
- Después de este período el usuario que desee continuar utilizándolo debe
- registrar su copia enviando el importe de la registración al autor,
- Maurizio Giunti.
- Los usuarios que paguen el importe de la registración recibirán una "clave
- de registración" que contenga su nombre (o el de su empresa/organización
- para licencias a empresas).
- Este software puede ser distribuído sin costo alguno, exceptuando el cargo
- eventual por gastos de copiado o transporte/flete.
- De todos modos, es imperativo que se distribuya el PAQUETE ORIGINAL sin
- modificación ALGUNA.
- Unica excepción: se puede distribuir el programa MPATCH.EXE, MPATCH2.EXE
- y/o MPATCHW.EXE con uno o más archivos *.MDF creados con una copia
- REGISTRADA de MDIFF. Además se puede distribuir cualquier archivo
- ejecutable producido con MDF2EXE.EXE, MDF2EXE2.EXE y MDF2EXEW.EXE que
- contengan únicamente patches MDF creados con una copia registrada de
- MDIFF.
- El autor de este programa no reclama derechos sobre los patches *.MDF.
-
- 4.¿POR QUE?
- Hace un tiempo tenía que distribuir una versión actualizada de un programa
- mío: el paquete comprimido ocupaba más de 200 KB, y seguramente hubiera
- sido más conveniente para todos actualizar el viejo ejecutable mediante
- un patch. Me puse en búsqueda de un software que me permitiera crear y
- distribuir un patch de mis programas para DOS y OS/2: para DOS encontré
- algunos (pero ninguno me satisfizo por varios motivos); para OS/2 no
- encontré ni uno! Por lo tanto, decidí hacer uno y... aquí está! 8-)
-
- 5.¿QUE HACE MDIFF-MPATCH?
- MDIFF crea un archivo binario con las diferencias entre dos archivos. Con
- MPATCH y el archivo original se puede recrear el nuevo archivo partiendo
- del archivo de diferencias. Qué hay de bueno en todo ésto? Simple:
- suponiendo que el archivo de diferencias sea más pequeño que el nuevo
- archivo, es más conveniente distribuir sólo ésto, en lugar del archivo
- completo, sobre todo si la distribución se hace por modem.
-
- 6.EJEMPLOS
- Como un ejemplo puse en dos directorios de nombre VIEJO y NUEVO, el MDIFF
- versión 1.45a (una versión alfa (de prueba) en progreso) y MDIFF 1.45
- respectivamente:
-
- Directorio de VIEJO\*.EXE
- MDIFF.EXE 46602 16/08/95 21.01
-
- Directorio de NUEVO\*.EXE
- MDIFF.EXE 46602 21/08/95 00.45
- 3
-
-
-
-
-
- C:\>mdiff VIEJO\MDIFF.EXE NUEVO\MDIFF.EXE
- MDIFF V1.50 - MDF file generator (Dos)
- (C) Copyright 1995/96 Maurizio Giunti
-
- Registered to: MAURIZIO GIUNTI
-
- VIEJO\MDIFF.EXE,NUEVO\MDIFF.EXE => MDIFF.MDF
- Working...(100%) MDF size: 1215 bytes Rate: 2%
- <Done!>
-
- Directorio de *.MDF
- MDIFF.MDF 1215 7/10/95 13.43
-
- Ahora podemos aplicar el patch llamado MDIFF.MDF al archivo viejo para
- reconstruir el nuevo:
-
- C:\>mpatch MDIFF.MDF VIEJO\MDIFF.EXE
- MPATCH V1.50 - MDF file applier (Dos)
- (C) Copyright 1995/96 Maurizio Giunti
-
- MDF file produced by: MAURIZIO GIUNTI
-
- Working: 0% |###########| 100%
- <Done!>
-
- I obtain the following file:
-
- Directorio de *.EXE
- MDIFF.EXE 46602 21/08/95 0.41
-
- que es el EQUIVALENTE a nivel BINARIO del nuevo archivo.
-
- 7.DOS, OS/2, WINDOWS 95 Y WINDOWS NT
- MDIFF y MPATCH para DOS, OS/2 y Windows32 se obtienen a través de la
- compilación del mismo fuente, por lo tanto, no existe ninguna diferencia
- en la funcionalidad en el uso de los programas sobre los distintos
- sistemas operativos. Además, los archivos *.MDF producidos con MDIFF para
- DOS pueden ser utilizados con MPATCH para OS/2 o Windows32 y viceversa.
-
- 8.LIMITES Y ERRORES CONOCIDOS
- MDIFF no puede trabajar con archivos de más de 16 MB y no puede procesar
- archivos más pequeños que 20 veces el largo de un chunk.
- Además, MDIFF para OS/2, habiéndose obtenido a través de una compilación
- directa del fuente de MDIFF para DOS, no está capacitado para trabajar
- con los atributos extendidos (EA) y simplemente se limitará a ignorarlos.
- Además, si se construye un patch usando MDIFF para DOS u OS/2, al
- aplicarlo usando MPATCH para Windows32 se obtendrá una fecha y hora
- incorrecta en el nuevo archivo. Lo mismo sucede si se construye un patch
- con MDIFF para Windows32 y se lo aplica con MPATCH para DOS u OS/2. Esto
- error surge de una implementación distinta de la función utime() en los
- compiladores de Microsoft y Borland.
-
- 9.MDIFF - MDIFF2 - MDIFFW
- El programa MDIFF se ocupa de comparar dos archivos y de almacenar las
- diferencias entre ellos en un tercer archivo que, generalmente, es mucho
- más compacto. Esta es la sintaxis de la línea de comandos:
-
- 4
-
-
-
-
- MDIFF [-C<c>] [-R<r>] [-F<f>] [-S] [-Z] [-P<pwd>] <OldFile> <NewFile>
- [<MDFfile>]
-
- <OldFile> es obviamente el nombre de la versión anterior del archivo a
- comparar, mientras que <NewFile> es el nombre de la versión actual. Si es
- necesario, se puede especificar el nombre del archivo de diferencias a
- crear <MDFFile>; si no, MDIFF crea un archivo que tiene el mismo nombre
- que <NewFile> pero con extensión ".MDF".
- Para buscar las partes similares en los archivos MDIFF usa un string base
- de largo predefinido de nombre chunk. El largo del chunk es de 16 bytes
- por defecto, pero puede ser cambiado, en un rango 4-256, con el switch -C
- seguido del largo deseado.
- Cuando MDIFF pierde el sincronismo entre los dos archivos que está
- comparando trata de resincronizarlos buscando el chunk que está elaborando
- en el archivo viejo. Esa búsqueda se efectúa en un entorno del último
- chunk encontrado, en el rango definido por el switch -R. Por defecto ese
- rango es de 8 bloques de 512 bytes, pero puede variar entre 1 y 16.
- Si esa búsqueda falla MDIFF trata de forzar ese sincronismo entre los dos
- archivos buscando en un rango mayor, definido por 1/16 del tamaño del
- archivo viejo. Esta segunda búsqueda puede ser deshabilitada o su rango
- puede ser cambiado mediante el switch -F.
- Especificando el switch -S, una vez terminada la operación, MDIFF arrojará
- algunos datos acerca de la composición del archivo de diferencias.
- También es posible, mediante el switch -Z, insertar en el archivo de
- diferencias un breve comentario (con un máximo de 2 KB), que será
- visualizado durante la aplicación del patch por parte de MPATCH. El
- comentario se toma del dispositivo de entrada standard (stdin) y, por lo
- tanto, puede ser tomado de un archivo usando el comando de redirección
- "<".
- Mediante el switch -P se puede proteger el patch con una clave de
- acceso (<pwd>): aquel que no conozca la clave no podrá aplicar el patch.
- Por favor tenga en cuenta que el campo de clave hace distinción entre
- mayúsculas y minúsculas.
-
- 10.MPATCH - MPATCH2 - MPATCHW
- Con el archivo anterior y el archivo de diferencias .MDF se puede
- reconstruir el archivo nuevo usando MPATCH. Esta es la sintaxis de la
- línea de comandos:
-
- MPATCH [-P<pwd>] <MDFfile> [<OldFile> [<NewFile>]]
-
- El único parámetro obligatorio es el nombre del archivo de diferencias
- <MDFFile>, ya que el mismo contiene el nombre de los otros dos archivos,
- pero es posible modificar esa imposición simplemente especificando los
- nombres deseados en el orden correspondiente. MPATCH acepta sólo el
- switch -P que permite especificar una eventual clave de acceso
- necesaria para aplicar el patch.
- En caso de error MPATCH retorna un errorlevel que debe ser interpretado
- según la siguiente tabla:
- 0 "¡OK!"
- 1 "¡Memoria insuficiente!"
- 2 "¡No se puede abrir el archivo MDF!"
- 3 "¡Archivo MDF inválido!"
- 4 "¡Las versión del archivo MDF no coincide!"
- 5 "¡NO REGISTRADO!"
- 6 "¡Archivo VIEJO corrupto o incorrecto!"
- 7 "¡No se puede abrir el archivo VIEJO!"
- 9 "¡No se puede crear el archivo NUEVO!"
- 10 "¡Falla general: archivo NUEVO corrupto!"
- 11 "¡El archivo VIEJO y el NUEVO no pueden ser el mismo!"
- 12 "¡El archivo nuevo ya fue patcheado!"
- 13 "¡Clave de acceso incorrecta!"
-
-
- 5
-
-
-
-
- 11.MDF2EXE - MDF2EXE2 - MDF2EXEW
- MDF2EXE es un simple programa que se ocupa de almacenar uno o más (hasta
- 127) archivos de patch MDF en un archivo ejecutable (DOS, OS/2 o
- Windows32).
- Este tipo de ejecutable se llama patch autoinstalable.
- La sintaxis del programa MDF2EXE:
-
- MDF2EXE <mdf_file 1> [<mdf_file 2>....<mdf_file n>] <exe_file>
-
- Los distintos <mdf_file x> pueden contener "wildcards" (*,?); en este
- caso MDF2EXE buscará automáticamente los archivos a insertar.
- El archivo ejecutable creado (que DEBE tener extensión .EXE) podrá ser
- ejecutado sin ningún parámetro en la línea de comandos y buscará
- automáticamente los archivos a actualizar. Opcionalmente se puede
- utilizar el switch -P para especificar la clave de acceso, o los switches
- -V o -L para visualizar la lista de los patches contenidos en el archivo.
- Advertencia: no se deben comprimir los patches autoinstalables con PKLite,
- LZexe u otros programas de compresión/encriptación similares; de otro
- modo, dejarán de funcionar.
-
- 12.SUGERENCIAS
- El método óptimo para construir un archivo de diferencias sería el de
- buscar en todo el archivo viejo los chunks que componen el nuevo archivo;
- obviamente, ese método sería de una lentitud exasperante.
- El algoritmo en que se basa MDIFF representa un compromiso entre resultado
- y velocidad de ejecución, por eso conviene regular los parámetros de
- funcionamiento de MDIFF mediante los switches correspondientes. Veamos
- cómo actuar en algunas situaciones típicas:
- 1.Archivos con poquísimas modificaciones: es bueno utilizar un chunk muy
- amplio (32, 64 o más) para reducir al máximo el tamaño del archivo de
- diferencias, sobre todo si se está trabajando con archivos de texto o de
- bases de datos.
- 2.Archivos de texto: cada tanto un chunk de largo 32 es el más indicado; es
- conveniente probar de disminuir o eliminar el sincronismo forzado
- mediante el switch -F.
- 3.Archivos ejecutables muy grandes: a menudo se obtienen resultados
- mejores agrandando el rango de búsqueda del sincronismo mediante el
- switch -R.
- Un último consejo: no esperen milagros de MDIFF. Si los dos archivos
- comparados son muy distintos el archivo de patch resultará muy grande. En
- estos casos hay poco que hacer, y hay que resignarse a distribuir el nuevo
- archivo entero. MDIFF es realmente útil sólo si el número de
- modificaciones hechas a los archivos no es demasiado grande.
-
-
-
- 13.LIBRERIAS PARA APLICAR PATCHES
- Incluído en este paquete encontrará un conjunto de librerías para crear
- sus propios programas para aplicar patches. Estas librerías NO PUEDEN
- aplicar patches MDF creados con una copia NO REGISTRADA de MDIFF.
- Esto no significa que no sean completamente funcionales. Significa que
- las librerías sólo pueden aplicar patches producidos por una copia
- registrada de MDIFF.
-
-
-
- 14.COMO REGISTRARSE
- Si registra MDIFF obtendrá una CLAVE DE REGISTRACION que contenga su
- nombre (o el de su (o el de su empresa/organización para licencias a
- empresas). Cuando produzca un patch con un MDIFF registrado, se grabará su
- nombre en el patch y cuando MPATCH aplique los mismos mostrará su nombre.
- Además, todo usuario registrado tiene autorización para distribuir
- libremente MPATCH.EXE, MPATCH2.EXE y MPATCHW.EXE con cualquier archivo MDF
- que haya creado. También se pueden distribuir libremente los patches
- autoinstalables creados por usuarios registrados.
- ¡No se requiere el pago de royalties ni de cargos extras!
- Incluído en el paquete de MDIFF encontrará un programa de registración
- para Windows de nombre REGISTER.EXE. Por favor ejecútelo en el entorno
- Windows.
- 6
-
-
-
-
- REGISTER.EXE es una pequeña aplicación para Windows escrita por Grzegorz
- (Greg) Kochaniak, que provee toda la información necesaria para comprar
- MDIFF y que permite mandarla directamente al servicio Kagi Shareware por
- correo postal, correo electrónico (e-mail) o fax. Si no usa Windows, por
- favor contáctese conmigo.
- Por cualquier información acerca de Kagi Shareware por favor lea el
- archivo KAGI.TXT.
-
- 15.COMO CONTACTAR AL AUTOR
- Por cualquier problema o pregunta puede contactarme en las siguientes
- direcciones:
-
- correo postal:
- Maurizio Giunti
- Via G.B. Foggini, 24
- 50142 Firenze (FI)
- ITALY
-
- e-mail:
- Fidonet: 2:332/102.3
- Internet: giunti@kagi.com
- giunti@abeline.it
- giunti@statsun.ds.unifi.it
-
- 16.AGRADECIMIENTOS
- Querría agradecer brevemente a todos aquellos que me han ayudado en el
- desarrollo de este software y de su documentación, y a aquellos que se
- ofrecieron con coraje como beta-testers. En orden alfabético:
-
- Mauricio Mello de Andreade
-
- Andrea Baitelli
-
- Silvia Borri
-
- Juan Jose Comellas
-
- Filippo Dini
-
- Fabrizio Fioravanti
-
- Cristiano Guidoccio
-
- Giovanni Lopes Pegna
-
- Marco Maccaferri
-
- Marco Menichelli
-
- Giuseppe Scarpi
-
- Toni Tatafiore
-
- Duncan Wilcox
-
-
-
- 7
-